home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Scene / Eurochart44 / Articles / BeACoder.txt < prev    next >
Text File  |  2002-03-12  |  16KB  |  509 lines

  1.  
  2. »CL6:-------------------------------------------------------------------------------
  3. »CL0:                                  Become A Coder
  4. »CL6:-------------------------------------------------------------------------------
  5.  
  6.                          Written by »CL5:Sagrael »CL6:of »CL5:Appendix
  7.  
  8.  
  9. »CL1:I  bet  that  many  sceners  sometimes
  10. consider, how it would feel,  if  they
  11. were coders. Does one need any special
  12. abilities? Does one  need  to remember
  13. all sin() & cos() tables and  hundreds
  14. of [wzorów], or  does  one  need to be
  15. born as  a coder? Today, two  assembly
  16. geniuses   from   Potion,   Mavey  and
  17. Diamond, and I  will  answer these and
  18. many others questions.
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29. »CL1:For  most   of   us,  regular sceners,
  30. coding  rather  associates with black-
  31. or  voodoo  magic than real abilities.
  32. Maybe  some  of  us  think  coders are
  33. wizards,  casting  their   spells  and
  34. using  forbidden  books? Is this true?
  35. Does coding  really  has  something in
  36. common with magic?
  37.  
  38.  
  39.  
  40.  
  41.  
  42.                 »CL4:Mavey:
  43.  
  44. »CL7:I think that if you like something, or
  45. even love it, there is always a bit of
  46. magic in it, something attracting that
  47. fascinates  you.  That  is  why I am a
  48. coder :)   Therefore,  if  you  are  a
  49. coder,  you  can cast a spell, and see
  50. its results on your monitor, just like
  51. a magician  and  this  is truly great,
  52. especially,  when  other  people  also
  53. like it. (Thanks Wouter=!)
  54.  
  55. »CL1:Unfortunately, to  like  something  is
  56. not enough to learn it. Mastering  all
  57. the asm mnemonics is too  heavy a task
  58. for   many   people!   Even   if  they
  59. constantly try to  do their best, they
  60. still  cannot  call   themselves  real
  61. coders.  Out   of   curiosity,  should
  62. coders  have  any  special  abilities?
  63.  
  64.                 »CL4:Mavey:
  65.  
  66. »CL7:Well, it is  hard to tell. I know many
  67. coders and I have not noticed anything
  68. "uncommon". I  can  only  say that one
  69. needs  a  huge   amount  of  patience,
  70. especially in the beginning, when your
  71. work, although  it  is hard, is  being
  72. held  very  cheap.  Later, when we are
  73. more known  to  the  scene, it is much
  74. easier.  However,  a  coder  is   kept
  75. motivated   to   work  by  many  other
  76. things as well.
  77.  
  78. »CL1:So  we  can say; patience  and a  huge
  79. amount of strong will! How about math?
  80. I  cannot  imagine  a   coder  without
  81. knowledge of math...  Must a coder be
  82. a great mathematician?
  83.  
  84.  
  85. »PIC:2.iff»
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.                »CL4:Diamond:
  102.  
  103. »CL6:Maybe not "great", but at least  good.
  104. Math  is  an essential ingredient  and
  105. without it, you  cannot  start messing
  106. with 3D.
  107.  
  108.                 »CL4:Mavey:
  109.  
  110. »CL7:Not really to be honest, but sometimes
  111. math  is  essential  for  a coder. For
  112. sure, while making  basic effects, one
  113. must   have    knowledge  on   adding,
  114. subtracting,    and    multiplying  :)
  115. Nevertheless, I  think  that  the most
  116. important                                                                                                                                                                                                                                  thing is your imagination. Why? Because you can invent very interesting new effects and ways to make them, which any "normal" person would not be able to invent :) Though in some cases, you cannot do anything without math. Especially in optimalization of a 3D engine, and of course in ray tracing!
  117.  
  118.  
  119. »CL1:I  bet  you  have  wondered,  how  the
  120. assembly   magicians   of  today   got
  121. started.  Did  they  write  impressive
  122. routines  just  after  bringing   home
  123. their  Amigas  from  the store, or  do
  124. their computer roots lie deeper in the
  125. past?   How   did   their  programming
  126. (coding) career get  started  and  was
  127. their  first  machine  even  an Amiga?
  128.  
  129.                »CL4:Diamond:
  130.  
  131. »CL6:I started with BASIC on C64. I think I
  132. was  9  years  old  then, so I did not
  133. make anything  impressive at the time.
  134. I  started  with  assembly on the A600
  135. when I was in the 8th class of primary
  136. school,  [so    he    was   about   14
  137. -translator], and I already knew about
  138. the scene, demos  etc. at  that  time.
  139. Later  it  has   somehow    developed.
  140.  
  141.                 »CL4:Mavey:
  142.  
  143. »CL7:I hate the word "programming", because
  144. it sounds  somewhat  commercial, and I
  145. just do not like it, but okay. I think
  146. that everything started  out with that
  147. magical computer, C64  of course. That
  148. was a thing! I started out  by playing
  149. games like  most  others, but  as time
  150. went by so did the  satisfaction I got
  151. from playing. At first I tried to draw
  152. (art studio. :), but later, when I got
  153. a book about  BASIC  I started to mess
  154. with it.  At  first, I  could  not  do
  155. anything,  but  later, after  numerous
  156. long  hours  spent  in  front  of  the
  157. computer    while     searching    for
  158. characters on the keyboard ,  it began
  159. to pay off. There was  one nasty thing
  160. though! Everything I made was too slow
  161. and  many  things  caused this,  but I
  162. decided  to  do  something  about  it,
  163. and  I   realized   that   there   was
  164. something called "Assembly  language".
  165. Therefore, I decided to  learn it, but
  166. it   appeared   to   be  a  bit  hard,
  167. especially because I did  not have ANY
  168. books  about  assembly. I once managed
  169. to  re - write an effect from BASIC to
  170. assembly and  then  I  decided only to
  171. code  in  assembly! I  suddenly saw my
  172. programs  running  incredible fast :).
  173. Later  I  bought  the  A600 and then I
  174. started,  fascinated  by  coding, with
  175. the decision of  also making something
  176. on  the  Amiga. This took me much more
  177. time  than  before :).  Now, I have  a
  178. powerful Amiga and  I  still  write in
  179. assembly,   only  in  PowerPC  one :).
  180. However, I am  faithful to Amiga CPUs.
  181. Sometimes I must make  a program  in C
  182. for  my  school,  but  I am paid to do
  183. this, and can use  the money to invest
  184. in my Amiga :)
  185.  
  186. »CL1:As we see from Mabeys example,  it was
  187. not  that  easy. No  need to worry too
  188. much though,  just start assembler and
  189. get to work ;) It seems  that there is
  190. a lack  of  motivation  here.  We have
  191. always been told  that  coders are the
  192. laziest people in the whole scene, and
  193. that  you  have  to  beg or even force
  194. them to work!  Can you agree with that
  195. opinion, or maybe  it is  a bit wrong?
  196.  
  197.                »CL4:Diamond:
  198.  
  199. »CL6:Hey, you have  exaggerated  a bit with
  200. the "forcing to work". I cannot  speak
  201. for others, but I must admit that I am
  202. a bit lazy.
  203.  
  204.                 »CL4:Mavey:
  205.  
  206. »CL7:I  do  not  know  every  coder  in the
  207. scene, but  I  think  I  can announce:
  208. I do not consider  myself as  being  a
  209. lazy  person, and I have been spending
  210. an enormous amount of time and work on
  211. coding,   especially     during    the
  212. development   of  "Gush"  and  "Gift",
  213. where I really had to think hard about
  214. how I could  put  as much  as possible
  215. into 64 kilobytes. :)  I  do  not feel
  216. offended  by  that  opinion, because I
  217. know that  my group mates are sure, at
  218. least  I  hope  so :), that  I  am not
  219. lazy.  Of  course,  sometimes  it  has
  220. happened  that  I  have  not  made the
  221. things that I  had promised, but there
  222. are   always  various  reasons.  Maybe
  223. sometimes  it  comes  from  a  lack of
  224. motivation,  but  I try to reduce this
  225. in order for it to happen as seldom as
  226. possible.
  227.  
  228. »CL1:Thank God  for that!  Thanks  to  both
  229. Maveys  and  Diamonds activity, we are
  230. able  to   see  great  productions  as
  231. "Gift", "Gush", and "Optional"!  Could
  232. the   scene   exist   without  coders?
  233.  
  234.                »CL4:Diamond:
  235.  
  236. »CL6:Of  course!  However,  it  would exist
  237. without demos and intros. It would  be
  238. a   bit   strange,    would   it  not?
  239.  
  240.  
  241.                 »CL4:Mavey:
  242.  
  243. »CL7:NO, for sure, and  it  is  not because
  244. I  am  a coder. It is obvious that the
  245. demo and  intro  compos  are  the most
  246. important  compos   on   every  party.
  247. Suppose  there  were  no coders?  Yes,
  248. there would still be gfx, music  etc.,
  249. but it is  not  enough. That  is why I
  250. think we  cannot exist without coders.
  251. Maybe  the  scene   would  exist,  but
  252. something  would   be   missing  then.
  253.  
  254. »CL1:Well, it is hard to disagree with your
  255. words! Okay, but do  coders  sometimes
  256. feel a  lack  of gratification towards
  257. their work?  It  is  clear  that  they
  258. would  earn  a   whole   lot  more  in
  259. commercial    programming,   even   if
  260. compared  to  the  prizes for  winning
  261. a  demo   compo   on   copy   parties.
  262.  
  263.                 »CL4:Mavey:
  264.  
  265. »CL7:I can honestly say  no. Sure,  one can
  266. get   much   more  cash   when   doing
  267. commercial  platform programs,  we all
  268. know that, but  it  is not about money
  269. here.  First, I must ask myself, why I
  270. am part of the scene. I  do  not do it
  271. for the  money, but  for  the pleasure
  272. and  satisfaction  it   brings  me.  I
  273. simply  like it. Of course, it is nice
  274. if  you   go  to  a   party   and  win
  275. something, but  that  is  not what the
  276. scene is about! Besides, I also use my
  277. coding skills  to  write programs in C
  278. for  some  people's  exams,  and  earn
  279. money  that  way - money  is essential
  280. for everyone. Therefore, this  problem
  281. does  surely  not exist on my part. If
  282. it  did, I  would  make demos, because
  283. the  prizes  in  the  demo  compos are
  284. higher than those in the intro compos.
  285.  
  286. »CL1:What does the second Potion coder have
  287. to say about this?
  288.  
  289.                »CL4:Diamond:
  290.  
  291. »CL6:I must admit that I have not made that
  292. many  scene productions. Of course, it
  293. would be  nice  to  receive  money for
  294. intros  or  demos,  but   since  party
  295. organizers are  not rich people, it is
  296. rather   impossible,    and   I   have
  297. therefore  started  to  earn  money by
  298. making  "commercial" programs, as  you
  299. called them.
  300.  
  301. »CL1:Dear readers,   maybe   you   are  now
  302. wondering what the "toolbox" of a good
  303. coder  looks  like? Which  software he
  304. uses,  which  Amiga  configuration  he
  305. uses and where he  finds ideas for new
  306. effects? For many years, I  have asked
  307. myself which  is  the  more difficult,
  308. inventing a new  effect  or making it?
  309.  
  310.                »CL4:Diamond:
  311.  
  312. »CL6:It depends. Sometimes  you  can invent
  313. something that is both new and easy to
  314. do at the same time. Other times it is
  315. different. The only limitation  I know
  316. is your time.
  317.  
  318.  
  319.  
  320.  
  321.                 »CL4:Mavey:
  322.  
  323. »CL7:I am  going  to  be honest. Once, both
  324. were things I  just could not  do, but
  325. as time passed  by, I found out that I
  326. would manage. At  that  time,  it  was
  327. much harder to make  something than to
  328. invent it. I have had  numerous ideas,
  329. but  no  ability  to  make  them real.
  330. However, after much  training, I think
  331. I got used to asm coding, so now it is
  332. much   more   difficult    to   invent
  333. something     completely   innovative,
  334. different  from everything else,  than
  335. it is to make  it. Let us  use our new
  336. raytracing  engine   as   an  example. 
  337. For me  this  was  very  easy to code.
  338. The difficult thing was  to invent how
  339. it should look, how the objects should
  340. be, etc.  it  is  the same  if we talk
  341. about  calculated  music,  once it was
  342. pure black magic and now  I simply sit
  343. down and re-write samples to assembly.
  344.  
  345. »CL1:Which tools do you use?
  346.  
  347.                »CL4:Diamond:
  348.  
  349. »CL6:I use PhxAss, PowerASM, vbcc, gcc, Asm
  350. and my private assembler,  which  will
  351. hopefully  be  finished some day. When
  352. this happens  I  will  share  it  with
  353. others.
  354.  
  355.                 »CL4:Mavey:
  356.  
  357. »CL7:Recently PowerASM. I am really waiting
  358. for the assembler  Diamond is  writing
  359. (I wonder when he will finally  finish
  360. those executables) and  sometimes a  C
  361. compiler.   (GCC,  StormC,  etc.)   In
  362. addition, I often use  Personal  Paint
  363. and  ArtPRO.  I   also  like  to   use
  364. LightWave and I think that is all. Oh,
  365. of course, I  also  use AsmPro, but it
  366. is rather seldom.
  367.  
  368. »CL1:Since  more  powerful  Amigas has been
  369. born,  one  sees  a  tendency  to  use
  370. hi-level programming languages, mainly
  371. C and similar, to make demos and other
  372. scene productions. If we use "Metatag"
  373. by Floppy as an example,  the  authors
  374. wrote that  almost 90% of the code had
  375. been made in C. Therefore; it is worth
  376. asking if C is  more  comfortable  and
  377. effective  to  write in than assembly?
  378.  
  379.  
  380.  
  381.                 »CL4:Mavey:
  382.  
  383. »CL7:Yes, but please notice that it is demo
  384. by  Mawi! As far  as  I  know the main
  385. loops  and  procedures  are written in
  386. assembly, and I am convinced that this
  387. code   is  the  most  executed   part.
  388. Therefore, in  this case  it  makes no
  389. big difference, whether you choose one
  390. language or another. Because my school
  391. use C,  I  was  forced  to  learn that
  392. language (and  it  is great to impress
  393. Mr.  Professor).  I  am  going  to  be
  394. honest;  it  is  a  language, which is
  395. very comfortable and fast to write in,
  396. but there is still  one  little thing:
  397. optimalisations!  When  we talk  about
  398. the  68k  family,  optimalisation   in
  399. assembly  gives  you  very  much.  For
  400. instance,  one  sample from our "Gift"
  401. intro  had  been  generating for about
  402. 20 seconds  when  we wrote it in C and
  403. only 2 seconds when we  re-wrote it to
  404. pure  asm.  Sadly,  on   PowerPC   the
  405. difference is not that big, because of
  406. the  great  number  of registers. Many
  407. registers give more  capability to the
  408. compiler, so  code  in  C  is not that
  409. much  faster  than  assembly code, but
  410. the difference is still noticeable. In
  411. several  cases  where   one   can  use
  412. specific  asm  tricks,  C  is  out  of
  413. question.  Quite  often,  I  make  the
  414. invented  effects  in C first to check
  415. it out and see how it looks,  then set
  416. the best parameters and re-write it to
  417. assembly. That is  why assembly, in my
  418. opinion, is better to make demos,  and
  419. when  talking  about intros, I have no
  420. doubts.
  421. »CL1:After a series of winning intros  from
  422. Potion,  I  have   no  doubts  either!
  423. Remember how making demos in something
  424. other  than  assembly  was  incredible
  425. just a few years back. Do you remember
  426. the fuss around Braindead (later Aivo)
  427. from  Mellow  Chips, when he told that
  428. most of "Dim" was coded using Amos? If
  429. anyone cannot believe it, I advise you
  430. to  check  out  some old "ROM" issues.
  431. When  talking  about  C, Maveys  group
  432. collectively  agreed  with  his words.
  433.  
  434.                »CL4:Diamond:
  435.  
  436. »CL6:For sure, programming in C is  faster.
  437. On the other hand,  assembly  language
  438. gives you  more control of everything.
  439. That is why using  asm and C  combined
  440. is  a   wise    decision.   The   most
  441. time-consuming  pieces  of   code  are
  442. written in assembly  and  the  rest is
  443. written  in C. It  is very comfortable
  444. for the  coder, and then  it is faster
  445. to develop  a demo.  In  addition, the
  446. code   is  much   easier   to  modify.
  447.  
  448. »CL1:Nothing  to  add! I am only wondering,
  449. if  this  piece  of  advice  from  the
  450. coders of Potion  will push someone to
  451. start  doing  things  in assembly? The
  452. scene needs new faces and I think that
  453. every coder,  even medium-talented, is
  454. as precious  as gold! Is  it  possible
  455. that  some so-called "scene observers"
  456. get a little kick  today  and begin to
  457. code? Maybe one of  the  young  coders
  458. will start to work  harder and be more
  459. effective, or maybe someone, who would
  460. like to start coding, gets  an impulse
  461. to start working? How should he start?
  462. What  advise  would  Mavey and Diamond
  463. give  to  all  those  freaks  dreaming
  464. about   making    Amiga   productions?
  465.  
  466.                »CL4:Diamond:
  467.  
  468. »CL6:Wow that  is  hard to say! In a normal
  469. situation,  I  would   recommend  some
  470. books, but the  problem  is that there
  471. are   no   books   about  Amiga!  From
  472. Motorola's website  you  can  download
  473. books about PPC  and 68k CPU's in  PDF
  474. format, but that is not for beginners,
  475. for sure! If  someone  would  like  to
  476. code they  should  check  the archives
  477. on Aminet, where  they  can  find some
  478. examples there.  Also,  mailing  lists
  479. like  the  Polish  "adevpl" and  maybe
  480. establish  contact with  someone,  who
  481. knows  about coding. If  someone wants
  482. to learn pure C/C++,  there  are  tons
  483. of   books    in    every   bookstore.
  484.  
  485.                 »CL4:Mavey:
  486.  
  487. »CL7:Do  not  content yourself with dreams,
  488. but find out what  your abilities are.
  489. At first it  is always hard, but later
  490. it is great. I remember, in 1998  when
  491. I still had my A600 , I used  to watch
  492. "Superautodrome" at  Sators place, and
  493. I was  excited  like hell! I  remember
  494. when  I started "United"  by Floppy on
  495. my A1200, at  that  time  I  was  even
  496. afraid to dream that some  day I would
  497. make  something  similar.  Now  it  is
  498. clear that dreams do  come  true and I
  499. wish that for all  the  beginners  out
  500. there! Do  not  stop, do nice  things,
  501. but please remember that you are still
  502. young and  that  some  things  are not
  503. worth  losing  from  spending all your
  504. time with the computer!
  505.  
  506.  
  507.  
  508.        »PIC:3.iff»
  509.